package com.darren.euc.service;

import java.util.List;

import com.darren.euc.entity.ContractTemplate;
import com.darren.euc.entity.PageBean;

import net.sf.json.JSONObject;

public interface ContractTemplateService {
    
	public ContractTemplate save(ContractTemplate contractTemplate);
    
	public ContractTemplate update(ContractTemplate contractTemplate);
	
	public ContractTemplate findById(Integer contractTemplateId);
	
	public void delete(ContractTemplate contractTemplate);
    
	public List<ContractTemplate> getAll();
	
	public List<ContractTemplate> getAllEnable();
	
	public List<ContractTemplate> getAvaliableContractTemplateByType(String TempleteType);
	    
	public List<ContractTemplate> getAvaliableContractTemplateBySpaceId(Integer spaceId);
	
	public List<ContractTemplate> getEnableContractTemplateBySpaceIdNotEquelsId(Integer spaceId,Integer templateid,Integer contractType);
	
	public List<ContractTemplate> getAvaliableAll();
    
	@SuppressWarnings("rawtypes")
	public PageBean queryForPageUseHQL(JSONObject requestJson,Integer pageSize, Integer currentPage);
    
}